import os
import re
from pathlib import Path

# 配置参数
image_dir = '/home/ubuntu/My_Project/rail_dataset_v1/images/train'  # 图片所在目录
output_format = 'jpg'  # 输出格式
start_number = 1  # 起始编号

# 创建保存目录（如果不存在）
os.makedirs(image_dir, exist_ok=True)

# 获取所有图片文件（按原文件名排序）
image_extensions = ('jpg', 'jpeg', 'png', 'bmp', 'gif', 'tiff')
image_files = sorted(
    [f for f in os.listdir(image_dir) if f.lower().endswith(image_extensions)],
    key=lambda x: (os.path.getmtime(os.path.join(image_dir, x)), x)  # 按修改时间排序，时间相同则按文件名
)

# 重命名图片
for i, old_name in enumerate(image_files, start=start_number):
    old_path = os.path.join(image_dir, old_name)
    new_name = f"{i}{os.path.splitext(old_name)[1]}"
    new_path = os.path.join(image_dir, new_name)
    
    # 避免覆盖已存在的文件
    if os.path.exists(new_path):
        print(f"警告: {new_name} 已存在，跳过")
        continue
    
    os.rename(old_path, new_path)
    print(f"已重命名: {old_name} -> {new_name}")

print(f"共重命名 {len(image_files)} 张图片")
